package com.dowsure.apisaas.model;

import com.dowsure.apisaas.annotation.RequestParamValidated;
import com.dowsure.apisaas.enums.CurrencyEnums;
import lombok.Data;

import java.math.BigDecimal;
import java.util.List;

/**
 * @description: 获取卖家店铺数据响应参数
 * @author: Dowsure
 * @create: 2022-02-15 11:49
 **/
@Data
public class SellerShopDataResponseParams {

    /**
     * 卖家用户申请贷款的店铺数
     */
    @RequestParamValidated(msg = "卖家用户申请贷款的店铺数")
    private Integer shopCount;

    /**
     * 汇总币种（ISO 4217 currency codes）CNY（人民币）默认:CNY 汇率（USD=>CNY：6.5、EUR=>CNY：7.4）
     */
    @RequestParamValidated(msg = "汇总币种")
    private CurrencyEnums currency;

    /**
     * 汇率，每周一早上10点获取最新汇率，小数点后4-6位数
     */
    @RequestParamValidated(msg = "汇率")
    private BigDecimal exRate;

    /**
     * 过去13周FBA发货比例 eg. 1=[0-10%），2=[10%-20%），依次类推
     */
    @RequestParamValidated(msg = "过去13周FBA发货比例")
    private Integer t13wkFba;

    /**
     * 过去3个月平均库存价值 eg. 0=[0-10000），1=[10000-20000），依次类推
     */
    @RequestParamValidated(msg = "过去3个月平均库存价值")
    private Integer t3mFbaInvValue;

    /**
     * 过去3个月卖家主要产品类别的总产品销售额 eg. 0=[0-10000），1=[10000-20000），依次类推
     */
    @RequestParamValidated(msg = "过去3个月卖家主要产品类别的总产品销售额")
    private Integer primaryCategoryT3mSales;

    /**
     * 第 1 周的回款 eg. 0=[0-100），1=[100-200），依次类推
     */
    @RequestParamValidated(msg = "第 1 周的回款")
    private Integer disbursements1w;

    /**
     * 第 2 周的回款 eg. 0=[0-100），1=[100-200），依次类推
     */
    @RequestParamValidated(msg = "第 2 周的回款")
    private Integer disbursements2w;

    /**
     * 第 3 周的回款 eg. 0=[0-100），1=[100-200），依次类推
     */
    @RequestParamValidated(msg = "第 3 周的回款")
    private Integer disbursements3w;

    /**
     * 第 4 周的回款 eg. 0=[0-100），1=[100-200），依次类推
     */
    @RequestParamValidated(msg = "第 4 周的回款")
    private Integer disbursements4w;

    /**
     * 第 5 周的回款 eg. 0=[0-100），1=[100-200），依次类推
     */
    @RequestParamValidated(msg = "第 5 周的回款")
    private Integer disbursements5w;

    /**
     * 第 6 周的回款 eg. 0=[0-100），1=[100-200），依次类推
     */
    @RequestParamValidated(msg = "第 6 周的回款")
    private Integer disbursements6w;

    /**
     * 第 1 月的回款 eg. 0=[0-1000)，1=[1000-2000），依次类推
     */
    @RequestParamValidated(msg = "第 1 月的回款")
    private Integer disbursements1m;

    /**
     * 第 2 月的回款 eg. 0=[0-1000)，1=[1000-2000），依次类推
     */
    @RequestParamValidated(msg = "第 2 月的回款")
    private Integer disbursements2m;

    /**
     * 第 3 月的回款 eg. 0=[0-1000)，1=[1000-2000），依次类推
     */
    @RequestParamValidated(msg = "第 3 月的回款")
    private Integer disbursements3m;

    /**
     * 第 4 月的回款 eg. 0=[0-1000)，1=[1000-2000），依次类推
     */
    @RequestParamValidated(msg = "第 4 月的回款")
    private Integer disbursements4m;

    /**
     * 第 5 月的回款 eg. 0=[0-1000)，1=[1000-2000），依次类推
     */
    @RequestParamValidated(msg = "第 5 月的回款")
    private Integer disbursements5m;

    /**
     * 第 6 月的回款 eg. 0=[0-1000)，1=[1000-2000），依次类推
     */
    @RequestParamValidated(msg = "第 6 月的回款")
    private Integer disbursements6m;

    /**
     * 第 7 月的回款 eg. 0=[0-1000)，1=[1000-2000），依次类推
     */
    @RequestParamValidated(msg = "第 7 月的回款")
    private Integer disbursements7m;

    /**
     * 第 8 月的回款 eg. 0=[0-1000)，1=[1000-2000），依次类推
     */
    @RequestParamValidated(msg = "第 8 月的回款")
    private Integer disbursements8m;

    /**
     * 第 9 月的回款 eg. 0=[0-1000)，1=[1000-2000），依次类推
     */
    @RequestParamValidated(msg = "第 9 月的回款")
    private Integer disbursements9m;

    /**
     * 第 10 月的回款 eg. 0=[0-1000)，1=[1000-2000），依次类推
     */
    @RequestParamValidated(msg = "第 10 月的回款")
    private Integer disbursements10m;

    /**
     * 第 11 月的回款 eg. 0=[0-1000)，1=[1000-2000），依次类推
     */
    @RequestParamValidated(msg = "第 11 月的回款")
    private Integer disbursements11m;

    /**
     * 第 12 月的回款 eg. 0=[0-1000)，1=[1000-2000），依次类推
     */
    @RequestParamValidated(msg = "第 12 月的回款")
    private Integer disbursements12m;

    /**
     * 第 1 季度的回款 eg. 0=[0-100），1=[100-200），依次类推
     */
    @RequestParamValidated(msg = "第 1 季度的回款")
    private Integer disbursements1q;

    /**
     * 第 2 季度的回款 eg. 0=[0-100），1=[100-200），依次类推
     */
    @RequestParamValidated(msg = "第 2 季度的回款")
    private Integer disbursements2q;

    /**
     * 第 3 季度的回款 eg. 0=[0-100），1=[100-200），依次类推
     */
    @RequestParamValidated(msg = "第 3 季度的回款")
    private Integer disbursements3q;

    /**
     * 第 4 季度的回款 eg. 0=[0-100），1=[100-200），依次类推
     */
    @RequestParamValidated(msg = "第 4 季度的回款")
    private Integer disbursements4q;

    /**
     * 第 5 季度的回款 eg. 0=[0-100），1=[100-200），依次类推
     */
    @RequestParamValidated(msg = "第 5 季度的回款")
    private Integer disbursements5q;

    /**
     * 第 6 季度的回款 eg. 0=[0-100），1=[100-200），依次类推
     */
    @RequestParamValidated(msg = "第 6 季度的回款")
    private Integer disbursements6q;

    /**
     * 第 7 季度的回款 eg. 0=[0-100），1=[100-200），依次类推
     */
    @RequestParamValidated(msg = "第 7 季度的回款")
    private Integer disbursements7q;

    /**
     * 第 8 季度的回款 eg. 0=[0-100），1=[100-200），依次类推
     */
    @RequestParamValidated(msg = "第 8 季度的回款")
    private Integer disbursements8q;

    /**
     * 第 1 年的回款 eg. 0=[0-1000），1=[1000-2000），依次类推
     */
    @RequestParamValidated(msg = "第 1 年的回款")
    private Integer disbursements1y;

    /**
     * 第 2 年的回款 eg. 0=[0-1000），1=[1000-2000），依次类推
     */
    @RequestParamValidated(msg = "第 2 年的回款")
    private Integer disbursements2y;

    /**
     * 过去12个月的总订单数 eg. 0=[0-1000），1=[1000-2000），依次类推
     */
    @RequestParamValidated(msg = "过去12个月的总订单数")
    private Integer ttmOrders;

    /**
     * 过去12个月卖家警告总次数 eg. 0=[0-5），1=[5-10），依次类推
     */
    @RequestParamValidated(msg = "过去12个月卖家警告总次数")
    private Integer ttmEnforcements;

    /**
     * 过去12个月的退款总订单数 eg. 0=[0-500），1=[500-1000），依次类推
     */
    @RequestParamValidated(msg = "过去12个月的退款总订单数")
    private Integer ttmReturns;

    /**
     * 过去12个月的退款率
     */
    @RequestParamValidated(msg = "过去12个月的退款率")
    private BigDecimal ttmReturnsRate;

    /**
     * 过去12个月的取消总订单数 eg. 0=[0-500），1=[500-1000），依次类推
     */
    @RequestParamValidated(msg = "过去12个月的取消总订单数")
    private Integer ttmCancellations;

    /**
     * 过去12个月的取消率
     */
    @RequestParamValidated(msg = "过去12个月的取消率")
    private BigDecimal ttmCancellationsRate;

    /**
     * 过去12个月的瑕疵品总订单数 eg. 0=[0-100），1=[100-200），依次类推
     */
    @RequestParamValidated(msg = "过去12个月的瑕疵品总订单数")
    private Integer ttmOrderDefects;

    /**
     * 过去12个月的瑕疵品率
     */
    @RequestParamValidated(msg = "过去12个月的瑕疵品率")
    private BigDecimal ttmOrderDefectsRate;

    /**
     * 过去12个月的延迟配送总订单数 eg. 0=[0-100），1=[100-200），依次类推
     */
    @RequestParamValidated(msg = "过去12个月的延迟配送总订单数")
    private Integer ttmLateShipments;

    /**
     * 过去12个月的延迟配送率
     */
    @RequestParamValidated(msg = "过去12个月的延迟配送率")
    private BigDecimal ttmLateShipmentsRate;

    /**
     * 过去12个月客户总反馈数 eg. 0=[0-100），1=[100-200），依次类推
     */
    @RequestParamValidated(msg = "过去12个月客户总反馈数")
    private Integer ttmFeedback;

    /**
     * 过去 12 个月低于 3星的评价数 eg. 0=[0-100），1=[100-200），依次类推
     */
    @RequestParamValidated(msg = "过去 12 个月低于 3星的评价数")
    private Integer ttmNegFeedback;

    /**
     * 过去 12 个月低于 3星的差评率
     */
    @RequestParamValidated(msg = "过去 12 个月低于 3星的差评率")
    private BigDecimal ttmNegFeedbackRate;

    /**
     * 最新 FBA 库存价值（基于上架货品价格）eg. 0=[0-100），1=[100-200），依次类推
     */
    @RequestParamValidated(msg = "最新 FBA 库存价值（基于上架货品价格）")
    private Integer currFbaInvValue;

    /**
     * 第 1 周的销售额 eg. 0=[0-100），1=[100-200），依次类推
     */
    @RequestParamValidated(msg = "第 1 周的销售额")
    private Integer sales1w;

    /**
     * 第 2 周的销售额 eg. 0=[0-100），1=[100-200），依次类推
     */
    @RequestParamValidated(msg = "第 2 周的销售额")
    private Integer sales2w;

    /**
     * 第 3 周的销售额 eg. 0=[0-100），1=[100-200），依次类推
     */
    @RequestParamValidated(msg = "第 3 周的销售额")
    private Integer sales3w;

    /**
     * 第 4 周的销售额 eg. 0=[0-100），1=[100-200），依次类推
     */
    @RequestParamValidated(msg = "第 4 周的销售额")
    private Integer sales4w;

    /**
     * 第 5 周的销售额 eg. 0=[0-100），1=[100-200），依次类推
     */
    @RequestParamValidated(msg = "第 5 周的销售额")
    private Integer sales5w;

    /**
     * 第 6 周的销售额 eg. 0=[0-100），1=[100-200），依次类推
     */
    @RequestParamValidated(msg = "第 6 周的销售额")
    private Integer sales6w;

    /**
     * 第 1 月的销售额 eg. 0=[0-100），1=[100-200），依次类推
     */
    @RequestParamValidated(msg = "第 1 月的销售额")
    private Integer sales1m;

    /**
     * 第 2 月的销售额 eg. 0=[0-100），1=[100-200），依次类推
     */
    @RequestParamValidated(msg = "第 2 月的销售额")
    private Integer sales2m;

    /**
     * 第 3 月的销售额 eg. 0=[0-100），1=[100-200），依次类推
     */
    @RequestParamValidated(msg = "第 3 月的销售额")
    private Integer sales3m;

    /**
     * 第 4 月的销售额 eg. 0=[0-100），1=[100-200），依次类推
     */
    @RequestParamValidated(msg = "第 4 月的销售额")
    private Integer sales4m;

    /**
     * 第 5 月的销售额 eg. 0=[0-100），1=[100-200），依次类推
     */
    @RequestParamValidated(msg = "第 5 月的销售额")
    private Integer sales5m;

    /**
     * 第 6 月的销售额 eg. 0=[0-100），1=[100-200），依次类推
     */
    @RequestParamValidated(msg = "第 6 月的销售额")
    private Integer sales6m;

    /**
     * 第 7 月的销售额 eg. 0=[0-100），1=[100-200），依次类推
     */
    @RequestParamValidated(msg = "第 7 月的销售额")
    private Integer sales7m;

    /**
     * 第 8 月的销售额 eg. 0=[0-100），1=[100-200），依次类推
     */
    @RequestParamValidated(msg = "第 8 月的销售额")
    private Integer sales8m;

    /**
     * 第 9 月的销售额 eg. 0=[0-100），1=[100-200），依次类推
     */
    @RequestParamValidated(msg = "第 9 月的销售额")
    private Integer sales9m;

    /**
     * 第 10 月的销售额 eg. 0=[0-100），1=[100-200），依次类推
     */
    @RequestParamValidated(msg = "第 10 月的销售额")
    private Integer sales10m;

    /**
     * 第 11 月的销售额 eg. 0=[0-100），1=[100-200），依次类推
     */
    @RequestParamValidated(msg = "第 11 月的销售额")
    private Integer sales11m;

    /**
     * 第 12 月的销售额 eg. 0=[0-100），1=[100-200），依次类推
     */
    @RequestParamValidated(msg = "第 12 月的销售额")
    private Integer sales12m;

    /**
     * 第 1 季度的销售额 eg. 0=[0-100），1=[100-200），依次类推
     */
    @RequestParamValidated(msg = "第 1 季度的销售额")
    private Integer sales1q;

    /**
     * 第 2 季度的销售额 eg. 0=[0-100），1=[100-200），依次类推
     */
    @RequestParamValidated(msg = "第 2 季度的销售额")
    private Integer sales2q;

    /**
     * 第 3 季度的销售额 eg. 0=[0-100），1=[100-200），依次类推
     */
    @RequestParamValidated(msg = "第 3 季度的销售额")
    private Integer sales3q;

    /**
     * 第 4 季度的销售额 eg. 0=[0-100），1=[100-200），依次类推
     */
    @RequestParamValidated(msg = "第 4 季度的销售额")
    private Integer sales4q;

    /**
     * 第 5 季度的销售额 eg. 0=[0-100），1=[100-200），依次类推
     */
    @RequestParamValidated(msg = "第 5 季度的销售额")
    private Integer sales5q;

    /**
     * 第 6 季度的销售额 eg. 0=[0-100），1=[100-200），依次类推
     */
    @RequestParamValidated(msg = "第 6 季度的销售额")
    private Integer sales6q;

    /**
     * 第 7 季度的销售额 eg. 0=[0-100），1=[100-200），依次类推
     */
    @RequestParamValidated(msg = "第 7 季度的销售额")
    private Integer sales7q;

    /**
     * 第 8 季度的销售额 eg. 0=[0-100），1=[100-200），依次类推
     */
    @RequestParamValidated(msg = "第 8 季度的销售额")
    private Integer sales8q;

    /**
     * 第 1 年的销售额 eg. 0=[0-1000），1=[1000-2000），依次类推
     */
    @RequestParamValidated(msg = "第 1 年的销售额")
    private Integer sales1y;

    /**
     * 第 2 年的销售额 eg. 0=[0-1000），1=[1000-2000），依次类推
     */
    @RequestParamValidated(msg = "第 2 年的销售额")
    private Integer sales2y;

    /**
     * 3pl每个店铺的数据明细
     */
    @RequestParamValidated(msg = "3pl每个店铺的数据明细")
    private List<ThreeplShopData> shopDataList;
}
